﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.Web;
using System.Web.Routing;
using System.Web.Security;
using IndignadoFramework.BackOffice.Models;
using IndignadoFramework.BackBone.Model;
using IndignadoFramework.BackBone.InternalServices;
using IndignadoFramework.BackBone.InternalServices.Implementacion;
using IndignadoFramework.BackBone.DTO;

namespace IndignadoFramework.BackOffice.Controllers
{
    public class ReportesController : Controller
    {
        private UsuarioServices _usuarios;
        private ContenidoUsuarioServices _contenidos;
        private IEnumerable<ContenidoModelDTO> _contenidosInadecuados;

        public ReportesController()
            : this(new UsuarioServicesImpl(), new ContenidoUsuarioServicesImpl())
        {
        }

        public ReportesController(UsuarioServices usuarios, ContenidoUsuarioServices conts)
        {
            _usuarios = usuarios;
            _contenidos = conts;
        }

        //
        // GET: /Reportes/PrincipalReportes
        [Authorize]
        public ActionResult PrincipalReportes()
        {
            return View();
        }

        //
        // GET: /Reportes/CantidadUsuarios
        [Authorize]
        public PartialViewResult CantidadUsuarios()
        {
            IEnumerable<int> usuariosRegistrados = _usuarios.usuariosByDate();
            return PartialView(usuariosRegistrados);
        }

        //
        // GET: /Reportes/ContenidosInadecuados
        [Authorize]
        public PartialViewResult ContenidosInadecuados(int? pagina)
        {
            // Contenidos
            _contenidosInadecuados = _contenidos.getContenidosInadecuados(false);
            if (pagina.HasValue)
            {
                ViewBag.PaginaContenido = pagina.Value;
            }
            else
            {
                ViewBag.PaginaContenido = 0;
            }
            return PartialView(_contenidosInadecuados);
        }
    }
}